home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 March / EnigmA AMIGA RUN 05 (1996)(G.R. Edizioni)(IT)[!][issue 1996-03][Skylink CD IV].iso / earcd / unix / mesaamwn.lha / Mesa-Amiwin / mklib.linux < prev    next >
Text File  |  1995-11-29  |  983b  |  47 lines

  1. #!/bin/sh
  2.  
  3. # Make a Linux ELF shared library
  4.  
  5. # First argument is name of output library
  6. # Rest of arguments are object files
  7.  
  8. LIBRARY=$1
  9.  
  10. shift 1
  11. OBJECTS=$*
  12.  
  13. # the following provided by Thomas Hiller (Hiller@tu-harburg.d400.de)
  14.  
  15. LIBMAJOR=1
  16. LIBMINOR=2
  17. LIBTINY=5
  18. VERSION="${LIBMAJOR}.${LIBMINOR}.${LIBTINY}"
  19.  
  20. LIBNAME=`basename $LIBRARY`
  21. ARNAME=`basename $LIBNAME .so`.a
  22. DIRNAME=`dirname $LIBRARY`
  23.  
  24. gcc -shared -Wl,-soname,${LIBNAME}.${LIBMAJOR} -o ${LIBRARY}.${VERSION} ${OBJECTS}
  25. (cd $DIRNAME; ln -s ${LIBNAME}.${VERSION} ${LIBNAME}.${LIBMAJOR})
  26.  
  27.  
  28. # also make regular .a files,
  29. # provided by Danek Duvall (duvall@dhduvall.student.princeton.edu)
  30.  
  31. ar cq ${DIRNAME}/${ARNAME} ${OBJECTS}
  32. ranlib ${DIRNAME}/${ARNAME}
  33.  
  34.  
  35. # Print a reminder about shared libs:
  36. DIR=`cd .. ; pwd`
  37. echo
  38. echo "******Be sure to add" ${DIR}"/lib to your LD_LIBRARY_PATH variable"
  39. echo
  40. sleep 2
  41.  
  42.  
  43.  
  44. #### NOTES:
  45. # One Mesa user reports having to run the "ldconfig -v" command to make
  46. # Linux aware of the shared libs.
  47.